/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.hibernate.entidades;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 *
 * @author ricardo
 */
@Entity
@Table(name="COLABORADOR")
public class Colaborador implements Serializable, Comparable {

    @Id
    @Column(name="COL_ST_LOGIN")
    private String colStLogin;
    @Column(name="COL_ST_SENHA")
    private String colStSenha;
    @Column(name="COL_ST_IDENTIFICACAO")
    private String colStIdentificacao;
    @Column(name="COL_ST_RG")
    private String colStRg;
    @Column(name="COL_ST_CPF")
    private String colStCpf;
    @Column(name="COL_ST_NOME")
    private String colStNome;
    @Column(name="COL_IN_IDADE")
    private Integer colInIdade;
    @Column(name="COL_BL_ATIVO")
    private Boolean colBlAtivo;

    
    public Boolean getColBlAtivo() {
        return colBlAtivo;
    }

    public void setColBlAtivo(Boolean colBlAtivo) {
        this.colBlAtivo = colBlAtivo;
    }
    
    public Integer getColInIdade() {
        return colInIdade;
    }

    public void setColInIdade(Integer colInIdade) {
        this.colInIdade = colInIdade;
    }

    public String getColStCpf() {
        return colStCpf;
    }

    public void setColStCpf(String colStCpf) {
        this.colStCpf = colStCpf;
    }

    public String getColStIdentificacao() {
        return colStIdentificacao;
    }

    public void setColStIdentificacao(String colStIdentificacao) {
        this.colStIdentificacao = colStIdentificacao;
    }

    public String getColStLogin() {
        return colStLogin;
    }

    public void setColStLogin(String colStLogin) {
        this.colStLogin = colStLogin;
    }

    public String getColStNome() {
        return colStNome;
    }

    public void setColStNome(String colStNome) {
        this.colStNome = colStNome;
    }

    public String getColStRg() {
        return colStRg;
    }

    public void setColStRg(String colStRg) {
        this.colStRg = colStRg;
    }

    public String getColStSenha() {
        return colStSenha;
    }

    public void setColStSenha(String colStSenha) {
        this.colStSenha = colStSenha;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Colaborador other = (Colaborador) obj;
        if ((this.colStLogin == null) ? (other.colStLogin != null) : !this.colStLogin.equals(other.colStLogin)) {
            return false;
        }
        return true;
    }

    @Override
    public int hashCode() {
        int hash = 3;
        hash = 47 * hash + (this.colStLogin != null ? this.colStLogin.hashCode() : 0);
        return hash;
    }

    @Override
    public int compareTo(Object o) {
        String s1 = "0";
        String s2 = "1";
        
        if(this.colStLogin != null){
            s1 = this.colStLogin;
        }
        if (o instanceof Colaborador) {
                s2 = ((Colaborador)o).getColStLogin();
        }
        
        if(s1 != null && s2 != null){
//            return new Integer(s1) - new Integer(s2);
            return s1.compareTo(s2);
        }else{
            return 0;
        }
    }
    
}
